import 'package:get/get.dart';
import 'package:getx_example/get_connect/controller/my_get_connect_controller.dart';
import 'package:getx_example/get_connect/page/my_get_connect_page.dart';
import 'package:getx_example/get_connect_dio/controller/my_get_connect_dio_controller.dart';
import 'package:getx_example/get_connect_dio/page/my_get_connect_dio_page.dart';
import 'package:getx_example/get_connect_statemixin/controller/my_get_connect_statemixin_controller.dart';
import 'package:getx_example/get_connect_statemixin/page/my_get_connect_statemixin_page.dart';
import 'package:getx_example/get_getbuilder/page/my_get_page.dart';
import 'package:getx_example/get_getx/page/my_get_page.dart';
import 'package:getx_example/get_lazy_put/binding/my_get_lazy_put_bunding.dart';
import 'package:getx_example/get_lazy_put/page/my_lzay_put_page.dart';
import 'package:getx_example/get_obx/my_obx_page.dart';
import 'package:getx_example/get_put/page/my_put_page.dart';
import 'package:getx_example/get_valuebuilder/my_get_valuebuilder_page.dart';
import 'package:getx_example/get_view/my_get_view_page.dart';
import 'package:getx_example/lang/my_lang_page.dart';
import 'package:getx_example/middleware/my_router_auth.dart';
import 'package:getx_example/page/my_home_page.dart';
import 'package:getx_example/page/my_login_page.dart';
import 'package:getx_example/page/my_mine_page.dart';
import 'package:getx_example/page/my_notfound_page.dart';
import 'package:getx_example/get_put_find/page/my_product_detail_page.dart';
import 'package:getx_example/get_put_find/page/my_product_page.dart';
import 'package:getx_example/page/my_setting_page.dart';
import 'package:getx_example/page/my_splash_page.dart';
import 'package:getx_example/theme/my_theme_page.dart';

class MyRoutes {

  //404
  static GetPage notFoundPage = GetPage(name: MyNotFoundPage.route, page: () => const MyNotFoundPage());

  static List<GetPage> routes = [
    GetPage(name: MyHomePage.route, page: () => const MyHomePage(), children: [
      GetPage(name: MyProductPage.route, page: () => const MyProductPage(), children: [
        GetPage(name: MyProductDetailPage.route, page: () => const MyProductDetailPage()),
          GetPage(name: MySettingPage.route, page: () => const MySettingPage()),
          GetPage(name: MySettingPage.routeID, page: () => const MySettingPage()),

      ]), //商品
    ]),

    GetPage(name: MyMinePage.route, page: () => const MyMinePage(), middlewares: [
        MyRouteAuthMiddleware()
    ]),

    GetPage(name: MyLoginPage.route, page: () => const MyLoginPage(),transition: Transition.downToUp),

    GetPage(name: MySplashPage.route, page: () => const MySplashPage()),
    GetPage(name: MySettingPage.route, page: () => const MySettingPage(),transition: Transition.downToUp),
    GetPage(name: MyPutPage.route, page: () => const MyPutPage()),

    GetPage(name: MyObxPage.route, page: () => const MyObxPage()),
    GetPage(name: MyGetxPage.route, page: () => const MyGetxPage()),
    GetPage(name: MyGetBuilderPage.route, page: () => const MyGetBuilderPage()),
    GetPage(name: MyGetValuebuilderPage.route, page: () => const MyGetValuebuilderPage()),
    GetPage(name: MyLazyPutPage.route, page: () => const MyLazyPutPage(),binding: MyGetLazyPutBinding()),
    GetPage(name: MyGetViewPage.route, page: () => const MyGetViewPage()),
    GetPage(name: MyGetContentPage.route, page: () => const MyGetContentPage(),binding: MyGetContentBuinding()),
    GetPage(name: MyGetConnectStateMixinPage.route, page: () => const MyGetConnectStateMixinPage(),binding: MyGetContentStateMixinBuinding()),
    GetPage(
        name: MyGetConnectDioPage.route, page: () => const MyGetConnectDioPage(), binding: MyGetConnectDionBuinding()),
    GetPage(name: MyThemePage.route, page: () => const MyThemePage()),
    GetPage(name: MyLangPage.route, page: () => const MyLangPage()),


    
  ];
}
